package com.jichangxiu.system.service;

import com.github.yulichang.base.MPJBaseService;
import com.jichangxiu.system.entity.bo.SysRoleMenuBo;
import com.jichangxiu.system.entity.dto.SysRoleMenuDto;
import com.jichangxiu.system.entity.dto.edit.EditSysRole;
import com.jichangxiu.system.entity.po.SysRoleMenu;

import java.util.List;

/**
 * SysRoleMenuService:
 *
 * @author JiChangXiu
 * @create 2024-06-28 13:44:41
 */
public interface SysRoleMenuService extends MPJBaseService<SysRoleMenu> {

    /**
     * 增加 / 修改 / 删除 角色菜单关联列表
     *
     * @param editSysRole        系统角色
     * @param sysRoleMenuDtoList 角色菜单关联对象列表
     * @return 是否成功
     */
    public Boolean addOrDelOrEdit(EditSysRole editSysRole, List<SysRoleMenuDto> sysRoleMenuDtoList);

    /**
     * 根据租户ID和用户ID查询角色菜单关联
     *
     * @param tenantId   租户ID
     * @param userIdList 用户ID列表
     * @return 角色菜单关联列表
     */
    public List<SysRoleMenuBo> listsByUserId(String tenantId, List<String> userIdList);

}